# 列表元素增删改

# 修改列表元素
motorcycles = ['honda', 'yamaha', 'suzuki']
print(motorcycles)

motorcycles[0] = 'ducati'
print(motorcycles)

# 增加列表元素
# 1-在列表末尾添加元素
motorcycles = ['honda', 'yamaha', 'suzuki']
print(motorcycles)

motorcycles.append('ducati')
print(motorcycles)

# 可以先创建一个空列表，再使用一系列函数调用append() 来添加元素。
# 下面来创建一个空列表，再在其中添加元素'honda' 、'yamaha'和'suzuki'
motorcycles = []
motorcycles.append('honda')
motorcycles.append('yamaha')
motorcycles.append('suzuki')
print(motorcycles)

# 2-在列表中插入元素
# 使用方法insert() 可在列表的任何位置添加新元素。为此，你需要指定新元素的索引和值。
motorcycles = ['honda', 'yamaha', 'suzuki']
motorcycles.insert(0, 'ducati')
# 方法insert() 在索引0 处添加空间，并将值'ducati' 存储到这个地方。
# 这种操作将列表中既有的每个元素都右移一个位置
print(motorcycles)


# 删除列表元素
# 1-del语句删除元素
motorcycles = ['honda', 'yamaha', 'suzuki']
print(motorcycles)
# 使用del 可删除任意位置处的列表元素，条件是知道其索引
# 使用del 语句将值从列表中删除后，你就无法再访问它了。
del motorcycles[0]		# 删除列表中第一个元素,注意也可以用括号来包裹要操作的列表元素
print(motorcycles)

# 2-方法pop()删除元素
# 方法pop() 删除列表末尾的元素，并让你能够接着使用它
# 每当你使用pop() 时，被弹出的元素就不再在列表中了
motorcycles = ['honda', 'yamaha', 'suzuki']
print(motorcycles)

popped_motorcycle = motorcycles.pop()
print(motorcycles)
print(popped_motorcycle)
print(f"The last motorcycle I owned was a {popped_motorcycle.title()}.")

# 实际上，可以使用pop() 来删除列表中任意位置的元素，只需在圆括号中指定要删除元素的索引即可。
motorcycles = ['honda', 'yamaha', 'suzuki']

first_owned = motorcycles.pop(0)
print(f"The first motorcycle I owned was a {first_owned.title()}.")

# 如果你要从列表中删除一个元素，且不再以任何方式使用它，就使用del 语句；
# 如果你要在删除元素后还能继续使用它，就使用方法pop() 。

# 3-根据值删除元素
# 有时候，你不知道要从列表中删除的值所处的位置。如果只知道要删除的元素的值，可使用方法remove()
motorcycles = ['honda', 'yamaha', 'suzuki', 'ducati']
print(motorcycles)

motorcycles.remove('ducati')
print(motorcycles)
# 使用remove() 从列表中删除元素时，也可接着使用它的值。
# 下面删除值'ducati' 并打印一条消息，指出要将其从列表中删除的原因
motorcycles = ['honda', 'yamaha', 'suzuki', 'ducati']
print(motorcycles)

too_expensive = 'ducati'
motorcycles.remove(too_expensive)
print(motorcycles)
print(f"\nA {too_expensive.title()} is too expensive for me.")
# 注意 	方法remove() 只删除第一个指定的值。
# 如果要删除的值可能在列表中出现多次，就需要使用循环来确保将每个值都删除。

